Fravia's TOOLS OF OUR TRADE Messageboard ~ Moderated
Re: SoftIce Initialization
Wednesday, 20-Jan-99 18:55:09

1. softice internals are trade secrets of numega i think, so it's rather unlikely you will find any public info on this topic. their policy can be guessed from the fact that even though the user community has asked for a user extensible command system for some time, they had ignored such requests.

2. i think they don't really have internal MS info other than that they have reverse engineered themselves. otherwise it shouldn't have taken so many years to develop the various windows versions of softice.

3. VxDs represent a crucial portion of the real operating system (speaking of win 3.1 and 9x), and since winice can be used as a kernel debugger (and appears a VxD to the kernel btw) you'd better understand how the kernel and its supporting subsystems work... especially when you want to understand how winice is able to integrate into a protected mode OS kernel, which is not an easy task.

4. as for your particular problem: try to boot into 'command prompt only' and start winice by hand as "winice /x" and watch for the upcoming messages. the "/x" will have winice ignore the "X" command in its line (should it have one of course) and make it pop up right before the VMM is about to initialize static VxDs. if you don't even get this far, something is seriously wrong with your setup. if you do, then you can manually set up your hotkey at this point and let the rest of windows load. when it finally comes up, start loader32and see if it can detect winice at all. if it cannot, you probably managed to mess up some of your executables, could have happened if you ever attempted to patch winice. if loader32 does detect winice, then your hotkey should actually activate winice. if you're lucky it will even pop up unless the video configuration has been messed with (perhaps unintentionally, eg you may have installed a new video card).

5. that particular error message about already being in enhanced mode is 'cos winice cannot be started while the processor is in protected mode (eg when some EMM manager is active) let alone when windows itself has been started already. see, there's a reason for that winice is usually loaded from autoexec.bat (but definitely before windows... in fact winice itseld loads win.com)

6. as for overall system stability and commercial sw development... you should have separate machines for writing and testing your code and of course you shouldn't install the universe on the latter... just your code and the debugger. even better is to load the code from a network drive and have your debugger only on that system. ok, i'll stop before i get into consulting ;-)

7. as for alternatives... there're a few other debuggers for win9x which you may consider for sw develpoment and related debugging. TRW and ZTRACER come to my mind (latter being less stable in its current version), although they may not provide everything you need. but guessing from the fact that you considered winice as your choice of debugger, i think lack of source level debugging won't strike you too much since device driver developers should master assembly anyway (for non VxD development you don't really need winice in the first place unless you encounter strange bugs that you wanna trace till you run into some buggy win9x kernel function ;-).

8. their customer support sort of sucks unless you pay big bucks and are an established sw vendor who's considered as a valuable customer. i at least couldn't get a single email answered even when they weren't remotely debugging (for which i should have paid i understand) related.

as a final note, use softice (or other kernel debuggers for that matter) only if you're good enough 'cos you won't understand/learn that stuff from debugger sessions.... i think some readers of this and similar forums could confirm this...


The Owl